import { createStore } from 'vuex'

export default createStore({
  state: { // 属性
    token: '',
    userInfo: JSON.parse(sessionStorage.getItem("userInfo"))
  },
  getters: {  // get方法
    getUser: state => {
      return state.userInfo
    },
    getToken: state => {
      return state.token
    }
  },
  mutations: { //set 方法
    SET_TOKEN: (state, token)=>{ // 第一部分是 state,第二部分是载体（传入的值）
      state.token = token // 赋值
      localStorage.setItem("token", token) // 设置浏览器关闭也能存储
    },
    SET_USERINFO: (state , userInfo) => {
      state.userInfo = userInfo;
      sessionStorage.setItem("userInfo", JSON.stringify(userInfo)); // 不能存对象，要进行序列化
    },
    REMOVE_INFO: (state , tokens) => {
       state.token = '';
       state.userInfo = {}
       localStorage.setItem("token", '')
      sessionStorage.setItem("userInfo", JSON.stringify(''))
    }
  },
  actions: {
  },
  modules: {
  }
})
